package cn.itcast.web.tag;

import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;

public class ForEachTag extends SimpleTagSupport {
    //for循环 items可以使用el表达式
	private List items;
	private String var;
	public void setItems(List items) {
		this.items = items;
	}
	public void setVar(String var) {
		this.var = var;
	}
	
	@Override
	public void doTag() throws JspException, IOException {
		
		PageContext context = (PageContext) this.getJspContext();
		//遍历集合 得到每一个集合 得到集合对应的值 
		Iterator it = items.iterator();
		while(it.hasNext()){
			Object obj = it.next();
			//把值放到PageContext中，在页面上再通过el表达式得到  key就是定义的属性
			context.setAttribute(var, obj);
			this.getJspBody().invoke(null);  //通知标签体执行
			
		}
	}
	
	
	
	
}
